{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Use FiPy in the Jupyter Notebook"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from fipy import Grid2D, CellVariable, Viewer, DiffusionTerm\n",
    "\n",
    "mesh = Grid2D(nx=100, ny=100)\n",
    "var = CellVariable(mesh=mesh)\n",
    "var.constrain(0, mesh.facesLeft)\n",
    "var.constrain(1, mesh.facesDown)\n",
    "var.constrain(2, mesh.facesRight)\n",
    "var.constrain(3, mesh.facesUp)\n",
    "DiffusionTerm().solve(var)\n",
    "Viewer(var).plot()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
